#include "Parameter.h"

Parameter::Parameter( string name, string description, SType type )
{
	this->name = name;
	this->description = description;
	this->type = type;
}

Parameter::Parameter( string name, string description, TypeDescriptorSp typeDescriptor )
{
	this->name = name;
	this->description = description;
	this->type = typeDescriptor->GetDescribedType();
	this->typeDescriptor = typeDescriptor;
}

string Parameter::GetFullyQualifiedTypeName()
{
	if ( Utility::IsSimpleType(type) )
	{
		return Utility::GetTypeName( type );
	}

	return typeDescriptor->GetFullyQualifiedName();
}